package com.njit.mailm.core.dao;

import com.njit.mailm.core.bean.Classify;
import com.njit.mailm.core.bean.User;

import java.util.List;

/**
 * Created by Administrator on 2016/5/10.
 */
public interface TreeDao {
    /**
     * 添加Root节点
     */
    void addRoot(Classify classify) throws Exception;

    /**
     * 通过分组名获取分组
     */
    Classify getClassifyByName(String name, String userId);

    /**
     * 修改Root节点
     * @param classify
     * @param newName
     * @throws Exception
     */
    void updateRoot(Classify classify, String newName) throws Exception;

    /**
     * 删除root节点
     * @param classify
     * @throws Exception
     */
    void deleteRoot(Classify classify) throws Exception;

    /**
     * 添加元素
     * @param classify
     */
    void addElement(Classify classify);

//    void updateParentChildId(String parentName, String id, String id1);

    /**
     * 显示所有的root节点
     * @param user
     * @return
     */
    List<Classify> listRootElement(User user);

    Classify getElements(User user, String id);

    /**
     * 添加子节点
     * @param parentName
     * @param id
     * @param id1
     */
    void addChildId(String parentName, String id, String id1);
}
